Skip to content

State the Pin Comment as the Release Tag and Define $/ - #1885

Merged
ptr727 merged 2 commits into
developfrom
feature/auto-1805
Sep 26, 2026
Merged

ptr727 merged 2 commits into
developfrom
feature/auto-1805

Conversation

@ptr727

@ptr727 ptr727 commented Sep 26, 2026 •

Copy link
Copy Markdown
Owner

The action pinning rule in GOVERNANCE.md "Workflow YAML Conventions" prescribed a # vX.Y.Z comment, which a pin to a repository whose release tags carry no v cannot honor without naming a tag that does not exist. It also exempted a $/ reference without saying what $/ is.

  • State the pin comment as the release tag at the pinned SHA, spelled as the referenced repository publishes it, with the major-only form following the same spelling rule.
  • Define $/ as GitHub's workflow-file syntax for a path in the repository holding that file, resolved at that file's own commit.
  • Bring WORKFLOW.md D9.1 into agreement, regenerate the workflow-ci-contract include copies, and update a prose-lint test docstring that restated the old rule.

Closes on promotion: #1805

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Clarified that comments on pinned external actions and reusable workflows must match the release tag published by the referenced repository.
    • Clarified how $/ workflow references are resolved. Local and self-repository references still do not require a pin.
    • Retained the documented dotnet/nbgv@master exception.

ptr727 and others added 2 commits September 25, 2026 22:48
The action pinning rule prescribed a `# vX.Y.Z` comment, which a
pin to a repository whose release tags carry no `v` cannot honor
without naming a tag that does not exist. State the comment as the
release tag at the pinned SHA, spelled as the referenced repository
publishes it, and bring WORKFLOW.md D9.1 into agreement.

Both statements also exempted a `$/` reference without saying what
it is, so name it as GitHub's self-repository path syntax, resolved
at the containing workflow file's own commit.

Closes on promotion: #1805

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Apply the release-tag spelling rule to the major-only comment too,
drop an unverifiable Dependabot rationale, use a constructed bare
tag in the example, scope the `$/` definition to a workflow file,
and update the prose-lint test docstring that restated the old rule.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
@coderabbitai

coderabbitai Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: ptr727/ProjectTemplate/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 04e224f8-720e-46d2-8fe7-be2320174c9f

📥 Commits

Reviewing files that changed from the base of the PR and between 5d1a44a and f4dcfa7.

⛔ Files ignored due to path filters (3)
  • .claude-plugin/fleet-skills/.source-digests/workflow-ci-contract is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/skills/workflow-ci-contract/references/d-guarantees.md is excluded by !.claude-plugin/fleet-skills/**
  • .github/skills/workflow-ci-contract/references/d-guarantees.md is excluded by !.github/skills/**
📒 Files selected for processing (4)
  • .agents/skills/workflow-ci-contract/references/d-guarantees.md
  • GOVERNANCE.md
  • WORKFLOW.md
  • scripts/tests/test_prose_lint.py

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The workflow guidance now requires SHA-pin comments to use the referenced repository’s exact release-tag spelling. It clarifies that $/ paths resolve in the workflow repository at the workflow file’s commit. A test docstring reflects the updated wording.

Changes

Workflow pinning guidance

Layer / File(s) Summary
Pinning and path-resolution rules
.agents/skills/workflow-ci-contract/references/d-guarantees.md, GOVERNANCE.md, WORKFLOW.md, scripts/tests/test_prose_lint.py
The guidance specifies the exact published release-tag spelling for SHA-pin comments and clarifies $/ path resolution at the workflow file’s commit. GOVERNANCE.md retains the dotnet/nbgv@master exception. The test docstring reflects the release-tag comment wording.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to f4dcf

This change clarifies workflow pinning guidance without changing test behavior; the generated copies and their digest are consistent. No actionable merge risk remains.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes both main changes: aligning pin comments with release tags and defining $/ references.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. (3 skipped: 3 …
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The changes consistently update the documented contract and its generated copies without introducing behavioral code changes or internal inconsistencies.

Review effort: Lite
Findings: None

What changed in this PR

This PR updates the fleet workflow pinning documentation to require that the trailing pin comment match the referenced repository’s published release tag spelling (including repositories whose tags do not use a v prefix), and it defines the previously undocumented $/ self-repository uses: syntax. It then propagates the updated contract wording to the workflow CI contract reference copies and refreshes a prose-lint test docstring that referenced the old rule.

Changes:

  • Update GOVERNANCE.md and WORKFLOW.md to require release-tag-accurate pin comments (instead of prescribing vX.Y.Z unconditionally) and to define $/.
  • Regenerate/refresh the workflow-ci-contract D9.1 reference text in the skill distribution copies and update the corresponding source digest.
  • Adjust a prose-lint test docstring to reflect the broadened pin-comment rule.
File Description
WORKFLOW.md Updates D9.1 to require a release-tag-accurate comment and defines $/ for workflow-file self-repo resolution.
scripts/​tests/​test_prose_lint.py Updates the docstring describing the pin-comment rule so it no longer implies only v-prefixed tags.
GOVERNANCE.md Refines the Action pinning rule to require comments that match the upstream’s tag spelling, and defines $/ in workflow files.
.github/​skills/​workflow-ci-contract/​references/​d-guarantees.md Regenerated skill copy reflecting the updated D9.1 wording.
.claude-plugin/​fleet-skills/​skills/​workflow-ci-contract/​references/​d-guarantees.md Regenerated plugin skill copy reflecting the updated D9.1 wording.
.claude-plugin/​fleet-skills/​.source-digests/​workflow-ci-contract Updates the recorded source digest to match the regenerated workflow-ci-contract content.
.agents/​skills/​workflow-ci-contract/​references/​d-guarantees.md Updates the skill source reference text for D9.1 to match the new contract wording.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ptr727

ptr727 commented Sep 26, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 26, 2026 •

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@ptr727
ptr727 merged commit ed8769f into develop Sep 26, 2026
9 checks passed
@ptr727
ptr727 deleted the feature/auto-1805 branch September 26, 2026 06:02
ptr727 added a commit that referenced this pull request Sep 26, 2026
…and Overnight Fixes to Main (#1850)

Promotes `develop` to `main`.

## Carried

- #1846: exits `repo-config/configure.sh` early, writing nothing, for a
repository whose registry `status` is `archived`.
- #1848: fails the validator's C# unit test step when the run wrote no
non-empty Cobertura report, clearing `./coverage` first. It declines
#1134's `ref` input with evidence, since a bare checkout already
validates `github.sha`, and D1.2 now says so. #1134's third gap moved to
#1800.
- #1851: asserts that the two planted registration defects are
themselves reported.
- #1854, #1858: correct #1846's test docstrings, which claimed the
script makes no `gh` call before the archived check in cases where it
does. Raised by Copilot on this pull request.
- #1856: passes `--repo` on documented handoff commands and guards
handoff reads against a full page, per #1847.
- #1859, #1863: fall back to the default search path when `PATH` is
unset in #1848's and #1846's test harnesses. Raised by Copilot on this
pull request.
- #1861: scopes `VerifyReferenceAotCompatibility` to an AOT publish in
`dotnet-codestyle`, per #1857.
- #1867: establishes the `PATH` order `tool_shadow_path` names, per
#1644.
- #1870: makes the installer's dirty-checkout tests independent of the
real checkout's state, per #1641.
- #1873: pins and decodes git's quoting in `repo_gate.py`'s `ls-files`
read, per #1580 and #1872.
- #1878: folds typographic punctuation in `pr_review.py reply --match`,
per #1299.
- #1883: routes `configure.sh`'s `ruleset_id()` through `jqr`, per
#1253.
- #1885: states the pin comment as the release tag and defines `$/`, per
#1805.
- #1888: distinguishes `./` from `$/` resolution in the pin rule's
prose, per #1886.
- #1893: drops the issue reference from `repo-config/README.md`'s
archived-exemption note, which Copilot flagged on six rounds of this
pull request.
- #1895: describes IL3058 in `dotnet-codestyle` as a referenced assembly
lacking `IsAotCompatible` metadata set to `true`, and drops the
unversioned package examples. Raised by CodeRabbit on this pull request.

Callers that pin a hub release get the new C# check on their next pin
bump. A test project that runs `dotnet test --coverage` without writing
a report now fails its step rather than passing silently.

Closes #1134
Closes #1847
Closes #1857
Closes #1644
Closes #1641
Closes #1580
Closes #1872
Closes #1299
Closes #1253
Closes #1805
Closes #1886

🤖 Generated with [Claude Code](https://claude.com/claude-code)


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Backlog counts and rankings now consistently exclude handoff issues,
including those also marked blocked.
* Repository configuration commands now exit without writing when a
repository is archived.
* Review-thread matching handles typographic punctuation, and no-match
responses report the unresolved-thread count.
* Tool setup handles PATH entries more precisely, and repository checks
report unusual file paths without crashing.

* **Reliability**
* Validation now fails when C# or Python tests produce no coverage
report.
  * Agent setup can use an explicit dirty-checkout override.
* Workflow and repository guidance clarifies reference resolution,
release-tag pinning, and AOT configuration.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants